
#	Proggies
CC = gcc -c -mlibscl -mthrowback -Wall -mpoke-function-name -O2 -o
ASM = gcc -mlibscl -mthrowback -c -o
LINK = gcc -mlibscl -mthrowback -o
LIB = libfile -c -o

#	Object files

Area.o:	Area.cc PicoInt.h
	$(CC) Area.o Area.cc

Cart.o:	Cart.cc PicoInt.h
	$(CC) Cart.o Cart.cc

Disa.o:	Disa.c Disa.h
	$(CC) Disa.o Disa.c

Draw.o:	Draw.cc PicoInt.h
	$(CC) Draw.o Draw.cc

Memory.o:	Memory.cc PicoInt.h
	$(CC) Memory.o Memory.cc
#	 -mno-apcs-stack-check

Pico.o:	Pico.cc PicoInt.h
	$(CC) Pico.o Pico.cc

Psnd.o:	Psnd.cc PicoInt.h
	$(CC) Psnd.o Psnd.cc

Sek.o:	Sek.cc PicoInt.h
	$(CC) Sek.o Sek.cc

Sine.o:	Sine.cc
	$(CC) Sine.o Sine.cc

VideoPort.o:	VideoPort.cc PicoInt.h
	$(CC) VideoPort.o VideoPort.cc
# -mno-apcs-stack-check

ym2612.o: ym2612.c driver.h ym2612.h
	$(CC) ym2612.o ym2612.c

MakeSine.o: MakeSine.cc
	$(CC) MakeSine.o MakeSine.cc


#	Header files
PicoInt.h: Pico.h Disa.h
	touch PicoInt.h


#	Output file

a/libPico4:	Area.o Cart.o Disa.o Draw.o Memory.o Pico.o Psnd.o Sek.o Sine.o VideoPort.o ym2612.o ^.Cyclone.o.Cyclone4
	$(LIB) a.libPico4 o.Area o.Cart o.Disa o.Draw o.Memory o.Pico o.Psnd o.Sek o.Sine o.VideoPort o.ym2612 ^.Cyclone.o.Cyclone4

a/libPico5:	Area.o Cart.o Disa.o Draw.o Memory.o Pico.o Psnd.o Sek.o Sine.o VideoPort.o ym2612.o ^.Cyclone.o.Cyclone5
	$(LIB) a.libPico5 o.Area o.Cart o.Disa o.Draw o.Memory o.Pico o.Psnd o.Sek o.Sine o.VideoPort o.ym2612 ^.Cyclone.o.Cyclone5

MakeSine:	MakeSine.o
	$(LINK) MakeSine o.MakeSine

Sine.cc:	MakeSine
	MakeSine > cc.Sine
